local extension=Package("xiaobai_parallel")
extension.extensionName="xiaobai"

Fk:loadTranslationTable{
    ["xiaobai_parallel"]="平行宇宙",
    
}

local U = require "packages/utility/utility"
local RUtil = require "packages/xiaobai/utility/rfenghou_util"

local weizhuge= General(extension, "xiaobai_parallel__weizhugeliang", "wei", 3)--魏国诸葛亮
local wuzhuge= General(extension, "xiaobai_parallel__wuzhugeliang", "wu", 3)--吴国诸葛亮
local qunzhuge= General(extension, "xiaobai_parallel__qunzhugeliang", "qun", 3)--群雄诸葛亮
wuzhuge.hidden=true
qunzhuge.hidden = true


local kuitian = fk.CreateTriggerSkill{
  name = "xiaobai__kuitian",
  anim_type = "special",
  frequency = Skill.Compulsory,
  events ={fk.StartPindian,fk.EventPhaseChanging,fk.TurnEnd},
  can_trigger = function(self, event, target, player, data)
    if not player:hasSkill(self) then return end
    if event == fk.StartPindian then
        return player == data.from or table.contains(data.tos, player) and player:getMark( "xiaobai__kuitian1")==0
    elseif event==fk.EventPhaseChanging then
       return target == player and player:getMark( "xiaobai__kuitian2")==0 and  data.to > Player.Start and data.to < Player.Finish
    elseif event==fk.TurnEnd then
      return player:getMark( "xiaobai__kuitian_lost-turn")>0 and player:getMark( "xiaobai__kuitian3")==0
    
    end
    
  end,
  on_cost = function(self, event, target, player, data)
    local room = player.room
    if event == fk.EventPhaseChanging then
      self.cost_data=nil
      local to = room:askForChoosePlayers(player, table.map(table.filter(room.alive_players, function(p)
        return player:canPindian(p,nil,true) end), Util.IdMapper), 1, 1, "#xiaobai__kuitian-choose", self.name, true)
      if #to > 0 then
        self.cost_data = to[1]
      end
      return true
    else
       return true
    end
  end,
  on_use = function(self, event, target, player, data)
    local room=player.room
    if event == fk.StartPindian then
      if player ~= data.from then
        data.fromCard = Fk:getCardById(room:getNCards(1)[1])
      end
      for _, to in ipairs(data.tos) do
        if to ~= player then
          data.results[to.id] = data.results[player.id] or {}
          data.results[to.id].toCard  = Fk:getCardById(room:getNCards(1)[1])
        end
      end

    elseif event==fk.EventPhaseChanging then
      player:skip(data.to)
      if self.cost_data then 
      local to = room:getPlayerById(self.cost_data)
      local pindian = player:pindian({to}, self.name)
      local winner = nil
      if pindian.results[to.id].winner == player then
        winner = player
      elseif pindian.results[to.id].winner == to then
        winner = to
      end
      if winner then

      local wincard = (winner==player and pindian.fromCard)  or pindian.results[winner.id].toCard
      local ids = {}
      table.insert(ids, pindian.fromCard:getEffectiveId())
      table.insert(ids, pindian.results[to.id].toCard:getEffectiveId())
      local use = U.askForUseRealCard(room, winner, ids, ".", self.name, "#kuitian-use", {expand_pile = ids}, true)
      if use ~= nil then 
        room:useCard(use)
      end
      end
      end
      return true

    elseif event==fk.TurnEnd then
      local pattern = ".|2~9|spade"
      local judge = {
        who = player,
        reason = "lightning",
        pattern = pattern,
      }
      room:judge(judge)
      player.room:obtainCard(player, judge.card, true, fk.ReasonJustMove, player.id, "xiaobai__kuitian")

      if judge.card:matchPattern(pattern) then
        room:damage{
          to = player,
          damage = 3,
          damageType = fk.ThunderDamage,
          skillName = self.name,
        }
      end
    end
  end,
  refresh_events = {fk.AfterCardsMove},
  can_refresh = function (self, event, target, player, data)
    if player:getMark("xiaobai__kuitian_lost-turn") == 0 and player:isKongcheng() and player:hasSkill(self) then
      for _, move in ipairs(data) do
        if move.from == player.id then
          for _, info in ipairs(move.moveInfo) do
            if info.fromArea == Card.PlayerHand then
              return true
            end
          end
        end
      end
    end
  end,
  on_refresh = function (self, event, target, player, data)
    player.room:setPlayerMark(player, "xiaobai__kuitian_lost-turn", 1)
  end,
}


local shisu= fk.CreateTriggerSkill{
  name = "xiaobai__shisu",
  anim_type = "defensive",
  prompt="xiaobai__shisu-pro",
  events = {fk.DamageInflicted},
  can_trigger = function(self, event, target, player, data)
    return player:hasSkill(self) and target == player 
    and player.hp>0 and player:getMark( "xiaobai__kuitian"..player.hp)==0
  end,
  on_use = function(self, event, target, player, data)
    local room = player.room
    room:setPlayerMark(player, "xiaobai__kuitian"..player.hp, 1)
    local n=0
    for i=1, 3 do
     n=n+player:getMark("xiaobai__kuitian"..i)
      
    end
    if n>=3 and player:hasSkill("xiaobai__mengliao") then
      room:notifySkillInvoked(player, "xiaobai__mengliao", "support")
      for i=1, 3 do
        room:setPlayerMark(player, "xiaobai__kuitian"..i, 0)
         
      end
      if #player:getCardIds("h")<4 then
        room:drawCards(player, 4-#player:getCardIds("h"), self.name)
      end
    
    end
    local choices = {"xiaobai__shisu1","xiaobai__shisu2","xiaobai__shisu3"}
    local x = player.hp
    local choice = room:askForChoice(player, choices, self.name,"#xiaobai__shisu-ask")

    if choice == "xiaobai__shisu1" then
      room:drawCards(player, x, self.name)
      local cards = room:askForDiscard(player, x, x, true, self.name, false,".","#shisu-ch1",true)
      if #cards > 0 then
        room:moveCardTo(cards, Card.DrawPile, nil, fk.ReasonPut, self.name, nil, true)

      end


    elseif choice == "xiaobai__shisu2" then
      local targets = room:askForChoosePlayers(player, table.map(room.alive_players, Util.IdMapper), 0, x, "#kuitian-choose-targets", self.name, true)
      if #targets > 0 then
        for _, id in ipairs(targets) do
          room:getPlayerById(id):setChainState(true)
        end
      end
      local tos = room:askForChoosePlayers(player,table.map(room.alive_players, Util.IdMapper), 1, 1, "#xiaobai-shisu-choose2", self.name, false)
      local to
      if #tos > 0 then
        to = room:getPlayerById(tos[1])
        room:damage{
          from = player,
          to = to,
          damage = 1,
          damageType = fk.FireDamage,
          skillName = self.name,
        }
      end
      


    elseif choice == "xiaobai__shisu3" then
        local targets = table.map(table.filter(room:getOtherPlayers(player), function(p)
        return not p:isKongcheng() end), Util.IdMapper)
        if #targets >= 0 then 
        local tid = room:askForChoosePlayers(player, targets, 1, 1, "#kuitian-choose-target3", self.name)[1]
        local to= room:getPlayerById(tid)
        if not to:isNude() then
          room:doIndicate(player.id, to)
          local cards = room:askForCardsChosen(player, to, 0, x, "he", self.name)
          room:throwCard(cards, self.name, to, player)
          local get=table.filter(cards, function(c)
            return Fk:getCardById(c).color== Card.Black end)
          if #get>0 then
            room:obtainCard(player, get, true, fk.ReasonJustMove, player.id, self.name)
          end
        end
        end
    end


    return true
  end,
}



local mengliao = fk.CreateTriggerSkill{
  name = "xiaobai__mengliao",
  anim_type = "support",
  frequency = Skill.Compulsory,
}

local ifhistory=fk.CreateTriggerSkill{
  name = "#xiaobai__ifhistory",
  anim_type = "support",
  mute=true,
  frequency = Skill.Compulsory,
  events = {fk.GamePrepared},
  can_trigger = function(self, event, target, player, data)
    return  player:hasSkill(self)
  end,
  on_use = function(self, event, target, player, data)
    local room = player.room
    local g=player.general
    local list={"intro__"..g}
    room:setPlayerMark(player, "@[if]if_history",list)
  end,
}
local xiaobai__intro_weizhuge=fk.CreateTriggerSkill{
  name = "xiaobai__intro_weizhuge",

}

local xiaobai__intro_wuzhuge=fk.CreateTriggerSkill{
  name = "xiaobai__intro_wuzhuge",

}

weizhuge:addSkill(ifhistory)
weizhuge:addSkill(xiaobai__intro_weizhuge)
weizhuge:addSkill(kuitian)
weizhuge:addSkill(shisu)
weizhuge:addSkill(mengliao)

Fk:addQmlMark{
  name = "if",
  how_to_show = function(name, value)
    return " "
  end,
  qml_path = "packages/utility/qml/DetailBox"
}

wuzhuge:addSkill(xiaobai__intro_wuzhuge)
wuzhuge.total_hidden = true
Fk:loadTranslationTable{
  ["xiaobai_parallel__weizhugeliang"]="诸葛亮",
  ["#xiaobai_parallel__weizhugeliang"]="<a href=':intro__xiaobai_parallel__weizhugeliang'>武忠王</a>",
  ["illustrator:xiaobai_parallel__weizhugeliang"] = "WH",
  ["designer:xiaobai_parallel__weizhugeliang"] = "食马者",
  ["@[if]if_history"]="佚史",
  ["#xiaobai__ifhistory"]="佚史",
  ["xiaobai__intro_weizhuge"]="佚史",
  [":xiaobai__ifhistory"]="这个武将有段神秘的故事......",
  [":xiaobai__intro_weizhuge"]="这个武将有段神秘的故事......<a href=':intro__xiaobai_parallel__weizhugeliang'>武忠王</a>",
  ["intro__xiaobai_parallel__weizhugeliang"]="武忠王(第二平行宇宙)",
  [":intro__xiaobai_parallel__weizhugeliang"]=[[太和二年，诸葛亮与王朗舌战数百回合，虽得胜而归，然深觉逐年征战有伤天和，逆天而行更损民生。是夜忽梦三日凌空，九州蒸血，天狼夺日，牝鸡司晨，众星皆陨。又忽闻昭烈谓之曰：“朕汉帝也，当施仁德于万民，社稷为次！”
次日，亮罢军还蜀，又数日，蜀主刘禅降魏。太和五年，亮随张郃伐吴，以火计破横江锁。正始十年，司马懿叛，亮奉章帝于许昌伐懿，三月克之、帝拜之为相。后废九品中正，兴科举，施均田制、两税法。
世人称曰：“魏之起于太祖，兴于孔明也”。嘉平三年薨，谥曰武忠王。]],

  ["xiaobai__kuitian"]="喟天",
  [":xiaobai__kuitian"]=[[锁定技，1.你拼点时，对方改为用牌堆顶牌拼点；<br>
  2.你的所有阶段改为与一名角色拼点，赢者可使用其拼点牌；<br>
  3.你失去所有手牌的回合结束后，你进行一次【闪电】判定并获得生效牌。]],
  ["#xiaobai__kuitian-choose"]="喟天:你可以与一名角色拼点",
  ["#kuitian-use"]="喟天:你可以使用本次拼点牌",

  ["xiaobai__shisu"]="释夙",
  ["xiaobai__shisu-pro"]="释夙:你可以删去“喟天”中对应项并防止伤害",
  [":xiaobai__shisu"]=[[你受到伤害时，你可以删去“喟天”中第X项并防止之，然后你选择一项：<br>
  1.摸X张牌并将等量牌置于牌堆顶；<br>
  2.横置X名角色并分配1点火焰伤害；<br>
  3.弃置一名角色X张牌并获得其中所有黑色牌（X为你体力值）。]],

  ["#xiaobai__shisu-ask"]="释夙:选择一项",
  ["xiaobai__shisu1"]="摸你体力值张牌并将等量牌置于牌堆顶",
  ["xiaobai__shisu2"]="横置至多你体力值名角色并分配1点火焰伤害",
  ["xiaobai__shisu3"]="弃置一名角色你体力值张牌并获得其中所有黑色牌",
  ["#shisu-ch1"]="释夙:将体力值张牌置于牌堆顶",
  ["#xiaobai-shisu-choose2"]="释夙:你可以分配1点火焰伤害",
  ["#kuitian-choose-targets"]="释夙:你可以横置至多你体力值名角色",
  ["#kuitian-choose-target3"]="释夙:你可以弃置一名角色你体力值张牌并获得其中所有黑色牌",

  ["xiaobai__mengliao"]="梦燎",
  [":xiaobai__mengliao"]="锁定技，当你删去“喟天”中所有选项后，你将手牌摸至4张，恢复所有被删去的选项。",


  ["xiaobai_parallel__wuzhugeliang"]="诸葛亮",
  ["#xiaobai_parallel__wuzhugeliang"]="神策佑江东",
  ["illustrator:xiaobai_parallel__wuzhugeliang"] = "dixueyun",
  ["designer:xiaobai_parallel__wuzhugeliang"] = "淼龙",
  ["intro__xiaobai_parallel__wuzhugeliang"]="神策佑江东(第四平行宇宙)",

  ["xiaobai__intro_wuzhuge"]="佚史",

  [":xiaobai__intro_wuzhuge"]="这个武将有段神秘的故事......<a href=':intro__xiaobai_parallel__wuzhugeliang'>神策佑江东</a>",

  [":intro__xiaobai_parallel__wuzhugeliang"]=[[建安五年，诸葛亮随兄出山辅佐东吴。值孙策卒，孙权姊婿见而异之，荐之于权。与鲁肃等并见宾待，亮之智更令周瑜叹曰：“不生瑜，何生亮！”
黄武四年，吴主任亮为丞相，诸葛瑾、庞统辅之。亮继任后，外连战克敌，内昭明法度，时人皆服。赤乌四年，太子孙登薨，朝廷动荡。诸葛亮与周瑜、陆逊、庞统屡议立储之事，然吴主久未决。亮乃仿商山四皓，邀周瑜等四人共扶孙和，吴主遂立孙和为太子。二宫之乱，至此终结。
赤乌十二年冬，诸葛亮病重，于塌前诫兄之子恪、子瞻、继子乔以谦俭之德。次年一月，薨，谥号平。乔、恪、瞻皆承父志，为东吴肱骨之臣。
太平六年，诸葛恪、陆抗、庞宏三路伐魏。太平十年，天下归吴。]],

  ["xiaobai_parallel__qunzhugeliang"] = "诸葛亮",
  ["illustrator:xiaobai_parallel__qunzhugeliang"] = "WH",
  ["designer:xiaobai_parallel__qunzhugeliang"] = "抽象派D"
  
}

--[[
喟天：锁定技，1.你拼点时，对方改为用牌堆顶牌拼点；2.你的所有阶段改为拼点，赢者可使用其拼点牌；3.你失去所有手牌的回合结束后，你进行一次【闪电】判定并获得生效牌。
释夙：你受到伤害时，你可以删去“喟天”中第X项并防止之，然后你选择一项：1.摸X张牌并将等量牌置于牌堆顶；2.横置X名角色并分配1点火焰伤害；3.弃置一名角色X张牌并获得其中所有黑色牌（X为你体力值）。
梦燎：锁定技，当你删去“喟天”中所有选项后，你将手牌摸至4张，恢复所有被删去的选项。




背景故事：
魏延，字文长，善养士卒，勇猛过人，锋芒内敛，棱角深藏。建兴六年，诸葛亮率领大军出祁山，诸葛亮命马谡统大众在前，魏延、王平为其副手。军至街亭，马谡扎营山上，魏延深知其自负，与王平各领一千兵马，先后驻军于山口、城中。魏延令士卒砍伐山中树木，设伪营于街亭南山入口，待到张郃军至，仿丞相之火计，大损张郃军。
正面交锋时，魏延假意不敌，诱敌深入，交由马谡军于山中伏击，一举歼灭。事后谦言，皆为马谡之功。
时马谡、邓芝忠勇殉国，赵云诈败退兵，曹真追之，延、懿率兵驰援，斩敌万计，曹真溃逃，曹叡弃守长安，迁都邺城。后延、懿等奔袭雍凉，尽收其地。而后三年，丞相所到之处，无不望风而降，皆箪食壶浆，以迎汉军。尽收豫、徐、兖、并之地。
建兴十年春，司马懿父子三人死于诸葛武侯火计，同年，孙权上表称臣，至此四海清平，大汉一统。后诸葛亮自回隆中归隐，后主挽留再三，皆不受。魏延亦辞官相随，侍奉左右。


平行宇宙 魏延
称号：兵发子午
体力：4
设计：临渊
画师：Ember

负兵：回合开始时，你可以将手牌数调整为五，若如此做，本回合你的每个阶段开始前，你须使用一张牌或弃
置一张手牌，且你使用牌指定唯一角色为目标时，该角色重铸区域内所有牌。

敛势：你造成或受到伤害后，你可以重铸区域内任意张牌，若如此做，你下次造成或受到伤害时，你可以令伤害来源或受伤角色摸X张牌，
然后另一名角色回复1点体力( X为你重铸牌中黑色牌的数量)。
--]]

local weiyan = General(extension, "xiaobai_parallel__weiyan", "shu", 4)

local fubing = fk.CreateTriggerSkill{
  name = "xiaobai__fubing",
  anim_type = "control",
  events = {fk.EventPhaseStart},
  can_trigger = function(self, event, target, player, data)
    return player:hasSkill(self) and (target == player and player.phase == Player.Start or 
    (target == player and player:getMark("@@xiaobai__fubing-turn") > 0))
  end,
  on_cost = function(self, event, target, player, data)
    local room = player.room
    if player.phase == Player.Start then
      return room:askForSkillInvoke(player, self.name, data)
    else
      if #player:getCardIds("h") > 0 then
        local card = room:askForCard(player, 1, 1, false, self.name, false, ".", "#xiaobai__fubing-discardoruse")
        if #card > 0 then
          self.cost_data = card[1]
          return true
        end
      end
    end
    return false
  end,
  on_use = function(self, event, target, player, data)
    local room = player.room
    if player.phase == Player.Start then
      room:setPlayerMark(player, "@@xiaobai__fubing-turn", 1)
      local x = 5 - #player:getCardIds("h")
      if x > 0 then
        room:drawCards(player, x, self.name)
      elseif x < 0 then
        room:askForDiscard(player, -x, -x, true, self.name, false)
      end
    else
      local card = Fk:getCardById(self.cost_data)
      --[[
      local choice ={"discard"}
      if player:canUse(card) then
        table.insert(choice, "使用")
      end
      local choice = room:askForChoice(player, choice, self.name, "#xiaobai__fubing-choice")
      if choice == "discard" then
        room:throwCard(card, self.name, player, player)
      else
      --]]
      local use=U.askForUseRealCard(room, player, {card.id},".", self.name, "#xiaobai__fubing-use",nil,true)
      if use then
          use.card.skillName = self.name
          room:useCard(use)
        else
          room:throwCard(card, self.name, player, player)
      end
      
    end
  end,

  refresh_events = {fk.TargetSpecified},
  can_refresh = function(self, event, target, player, data)
    local tos = AimGroup:getAllTargets(data.tos)
    return player:hasSkill(self) and player:getMark("@@xiaobai__fubing-turn") > 0 and 
    data.card and table.contains(data.card.skillNames, self.name) and
      target == player and #tos == 1 and tos[1] ~= player.id
  end,
  on_refresh = function(self, event, target, player, data)
    local room = player.room
    local to = room:getPlayerById(AimGroup:getAllTargets(data.tos)[1])
    local cards = to:getCardIds("hej")
    if #cards > 0 then
      room:recastCard(cards, to, self.name)
    end
   
  end,
}

local lianshi = fk.CreateTriggerSkill{
  name = "xiaobai__lianshi",
  anim_type = "support",
  events = {fk.Damage, fk.Damaged},
  can_trigger = function(self, event, target, player, data)
    return player:hasSkill(self) and target == player and player:usedSkillTimes(self.name,Player.HistoryRound) < 1
  end,
  on_cost = function(self, event, target, player, data)
    local room = player.room
    local cards = player:getCardIds("hej")
    if #cards == 0 then return false end
    
    local to_select = room:askForCard(player, 1, #cards, true, self.name, true, ".", "#xiaobai__lianshi-reforge")
    if #to_select > 0 then
      self.cost_data = to_select
      return true
    end
    return false
  end,
  on_use = function(self, event, target, player, data)
    local room = player.room
    local cards =self.cost_data
    room:recastCard(cards, player, self.name)

    local black_count = #table.filter(cards, function(id)
      return Fk:getCardById(id).color == Card.Black
    end)
    
    if black_count > 0 then
      room:setPlayerMark(player, "@xiaobai__lianshi-count", black_count)
    end
  end,

  refresh_events = {fk.Damage, fk.Damaged},
  can_refresh = function(self, event, target, player, data)
    return player:hasSkill(self) and target == player and player:getMark("@xiaobai__lianshi-count") > 0
  end,
  on_refresh = function(self, event, target, player, data)
    local room = player.room
    local count = player:getMark("@xiaobai__lianshi-count")
    local tar = {}
    if data.from then
      table.insert(tar, data.from.id)
    end
    if data.to then
      table.insert(tar, data.to.id)
    end
    if tar and tar.dead then return end
    local to=room:askForChoosePlayers(player, tar, 1, 1, "#xiaobai__lianshi-buff", self.name, true)    

    room:setPlayerMark(player, "@xiaobai__lianshi-count", 0)
    if #to == 0 then return end
    to=room:getPlayerById(to[1])
    if to then
      to:drawCards(count, self.name)
      local others = table.filter(room:getOtherPlayers(to), function(p)
        return p.hp < p.maxHp
      end)
      if #others > 0 then
        local to = room:askForChoosePlayers(player, table.map(others, function(p)
          return p.id
        end), 1, 1, "#xiaobai__lianshi-recover", self.name, true)
        if #to > 0 then
          room:recover({
            who = room:getPlayerById(to[1]),
            num = 1,
            recoverBy = player,
            skillName = self.name
          })
        end
      end
    end
  end,
}

local xiaobai__intro_weiyan=fk.CreateTriggerSkill{
  name = "xiaobai__intro_weiyan",

}

weiyan:addSkill("#xiaobai__ifhistory")
weiyan:addSkill(xiaobai__intro_weiyan)
weiyan:addSkill(fubing)
weiyan:addSkill(lianshi)

Fk:loadTranslationTable{
  ["xiaobai_parallel__weiyan"] = "魏延",
  ["#xiaobai_parallel__weiyan"] = "兵发子午",
  ["designer:xiaobai_parallel__weiyan"] = "临渊",
  ["illustrator:xiaobai_parallel__weiyan"] = "Ember",
  ["intro__xiaobai_parallel__weiyan"] = "兵发子午(第二平行宇宙)",
  ["xiaobai__intro_weiyan"] = "佚史",
  [":xiaobai__intro_weiyan"] = "这个武将有段神秘的故事......<a href=':intro__xiaobai_parallel__weiyan'>兵发子午</a>",
  [":intro__xiaobai_parallel__weiyan"] = [[建兴六年，诸葛亮率领大军出祁山，诸葛亮命马谡统大众在前，魏延、王平为其副手。军至街亭，马谡扎营山上，魏延深知其自负，与王平各领一千兵马，先后驻军于山口、城中。魏延令士卒砍伐山中树木，设伪营于街亭南山入口，待到张郃军至，仿丞相之火计，大损张郃军。
正面交锋时，魏延假意不敌，诱敌深入，交由马谡军于山中伏击，一举歼灭。事后谦言，皆为马谡之功。
时马谡、邓芝忠勇殉国，赵云诈败退兵，曹真追之，延、懿率兵驰援，斩敌万计，曹真溃逃，曹叡弃守长安，迁都邺城。后延、懿等奔袭雍凉，尽收其地。而后三年，丞相所到之处，无不望风而降，皆箪食壶浆，以迎汉军。尽收豫、徐、兖、并之地。
建兴十年春，司马懿父子三人死于诸葛武侯火计，同年，孙权上表称臣，至此四海清平，大汉一统。后诸葛亮自回隆中归隐，后主挽留再三，皆不受。魏延亦辞官相随，侍奉左右。]],

  ["xiaobai__fubing"] = "负兵",
  [":xiaobai__fubing"] = [[回合开始时，你可以将手牌数调整为5，若如此做，本回合你每个阶段开始前，
  你须使用一张牌或弃置一张手牌，且你以此法使用牌指定唯一其他角色为目标时，该角色重铸所有牌。]],
  ["#xiaobai__fubing-discardoruse"] = "负兵：请选择一张牌使用或弃置",
  ["#xiaobai__fubing-choice"] = "负兵：请选择一张牌使用或弃置",
  ["#xiaobai__fubing-use"] = "负兵：请使用一张牌,否则弃置",
  ["@@xiaobai__fubing-turn"] = "负兵",

  ["xiaobai__lianshi"] = "敛势",
  [":xiaobai__lianshi"] = "每轮限一次。你造成或受到伤害后，你可以重铸区域内任意张牌，若如此做，你下次造成或受到伤害时，你可以令伤害来源或受伤角色摸X张牌，然后另一名角色回复1点体力（X为你重铸牌中黑色牌的数量）。",
  ["#xiaobai__lianshi-reforge"] = "敛势：你可以重铸区域内任意张牌",
  ["#xiaobai__lianshi-recover"] = "敛势：你可以令一名其他角色回复1点体力",
  ["#xiaobai__lianshi-buff"] = "敛势：你可以令来源或受伤角色摸牌",
  ["@xiaobai__lianshi-count"] = "敛势数",
  ["@xiaobai__lianshi-target"] = "敛势目标",
}

return extension